CxGrpGrid and FacNavBar Example
The following is an example using the CxHmiGrp CxGrpGrid object and the CxHmiFac FacNavBar object in CygNet Studio. For an example using CxGrpGrid with CxGrpNavBar, see CxGrpNavBar and CxGrpGrid Example.
|
| CxGrpGrid and FacNavBar Example |
Script File
|
'(Declarations)
Sub UpdateUI()
eboLevels.Text = FacNavBar.X.Levels - 1 eboInitialFilter.Text = FacNavBar.X.InitialFilter
If FacNavBar.X.RuntimeCfgAutoPersist Then ckbRTimeCfgAutoPersist.Check = 1 Else ckbRTimeCfgAutoPersist.Check = 0 End If
btnNext.Enable = FacNavBar.X.CanSelNext(eboLevel.Text, ckbWrap.Value) btnPrev.Enable = FacNavBar.X.CanSelPrev(eboLevel.Text, ckbWrap.Value)
btnNavNext.Enable = FacNavBar.X.CanNavNext(ckbNavWrap.Value) btnNavPrev.Enable = FacNavBar.X.CanNavPrev(ckbNavWrap.Value)
End Sub
Sub LoadGrid()
Dim arrUdcList Dim iLowerBound Dim iUpperBound Dim strFacTag
Dim strUis strUis = FacNavBar.X.SiteService
strFacTag = FacNavBar.X.GetSelectedTargetFacTag()
If strUis = "" Then msgbox "Set the Site.Service" Exit Sub End If
If strFacTag = "" Then msgbox "Invalid FacilityTag (" + strFacTag + ")" Exit Sub End If
Dim aryFacTag, strFacility aryFacTag = Split(strFacTag, "::") strFacility = aryFacTag(1)
' ' Get the udc list for this facility. ' GetUdcList strFacTag, arrUdcList iLowerBound = 0 iUpperBound = ubound(arrUdcList)
' ' Load up the grid rows/columns ' Dim i, j, itemid
CxGrpGrid.x.Stop CxGrpGrid.x.ClearRows CxGrpGrid.x.ClearColumns
CxGrpGrid.x.Columns = 4 For j=0 To 3 CxGrpGrid.x.ColSiteService(j) = strUis CxGrpGrid.x.ColFacility(j) = strFacility Next
CxGrpGrid.x.ColLabelText(0) = "Description" CxGrpGrid.x.ColDisplayItem(0) = 10007
CxGrpGrid.x.ColLabelText(1) = "Value" CxGrpGrid.x.ColDisplayItem(1) = 10001
CxGrpGrid.x.ColLabelText(2) = "Units" CxGrpGrid.x.ColDisplayItem(2) = 10008
CxGrpGrid.x.ColLabelText(3) = "Time" CxGrpGrid.x.ColDisplayItem(3) = 10002
For i=iLowerBound To iUpperBound CxGrpGrid.x.RowUdc(i) = arrUdcList(i) CxGrpGrid.x.RowLabelText(i) = CxGrpGrid.x.RowUdc(i) Next CxGrpGrid.x.Start
End Sub
Sub ListInitialFilterRules()
lboEnabledRules.ResetContent lboDisabledRules.ResetContent
Dim aryEnabledRules, aryDisabledRules FacNavBar.X.GetInitialFilterRuleNames aryEnabledRules, aryDisabledRules
Dim i For i = 0 To UBound(aryEnabledRules) lboEnabledRules.AddString(aryEnabledRules(i)) Next
For i = 0 To UBound(aryDisabledRules) lboDisabledRules.AddString(aryDisabledRules(i)) Next
End Sub
'End of (Declarations)
'(GlobalDeclarations)
'End of (GlobalDeclarations)
Sub btnDisableRule_EventClick() Dim This : Set This = btnDisableRule
If lboEnabledRules.GetCurSel() < 0 Then Exit Sub End If
FacNavBar.X.EnableInitialFilterRule lboEnabledRules.GetText(lboEnabledRules.GetCurSel()), False ListInitialFilterRules()
ckbEnableAllInitialFilterRules.Check = 2
End Sub
Sub btnEnableRule_EventClick() Dim This : Set This = btnEnableRule
If lboDisabledRules.GetCurSel() < 0 Then Exit Sub End If FacNavBar.X.EnableInitialFilterRule lboDisabledRules.GetText(lboDisabledRules.GetCurSel()), True
ListInitialFilterRules()
ckbEnableAllInitialFilterRules.Check = 2
End Sub
Sub btnNavNext_EventClick() Dim This : Set This = btnNavNext
Dim iLevel iLevel = FacNavBar.X.NavNext(ckbNavWrap.Value)
UpdateUI() LoadGrid()
End Sub
Sub btnNavPrev_EventClick() Dim This : Set This = btnNavPrev
Dim iLevel iLevel = FacNavBar.X.NavPrev(ckbNavWrap.Value)
UpdateUI() LoadGrid()
End Sub
Sub btnNext_EventClick() Dim This : Set This = btnNext
Dim iRet iRet = FacNavBar.X.SelNext(eboLevel.Text, ckbWrap.Value)
UpdateUI() LoadGrid()
End Sub
Sub btnPersistRTimeCfg_EventClick() Dim This : Set This = btnPersistRTimeCfg
FacNavBar.X.PersistRunTimeCfg
End Sub
Sub btnPrev_EventClick() Dim This : Set This = btnPrev
Dim iRet iRet = FacNavBar.X.SelPrev(eboLevel.Text, True)
UpdateUI() LoadGrid()
End Sub
Sub btnRestoreDTimeCfg_EventClick() Dim This : Set This = btnRestoreDTimeCfg
FacNavBar.X.RestoreDesignTimeCfg
UpdateUI() ListInitialFilterRules() LoadGrid()
End Sub
Sub btnRestoreRTimeCfg_EventClick() Dim This : Set This = btnRestoreRTimeCfg
FacNavBar.X.RestoreRunTimeCfg()
UpdateUI() ListInitialFilterRules() LoadGrid()
End Sub
Sub btnSetInitialFilter_EventClick() Dim This : Set This = btnSetInitialFilter
FacNavBar.X.InitialFilter = eboInitialFilter.Text
UpdateUI() ListInitialFilterRules()
End Sub
Sub btnSetLevelCnt_EventClick() Dim This : Set This = btnSetLevelCnt
FacNavBar.X.Levels = eboLevels.Text
End Sub
Sub btnSetSiteService_EventClick() Dim This : Set This = btnSetSiteService
TheView.SiteService = eboSiteService.Text TheView.Restart
End Sub
Sub ckbEnableAllInitialFilterRules_EventChange() Dim This : Set This = ckbEnableAllInitialFilterRules
If ckbEnableAllInitialFilterRules.Check <> 2 Then FacNavBar.X.EnableAllInitialFilterRules ckbEnableAllInitialFilterRules.Check()
ListInitialFilterRules() End If
End Sub
Sub ckbNavWrap_EventChange() Dim This : Set This = ckbNavWrap
UpdateUI()
End Sub
Sub ckbRTimeCfgAutoPersist_EventChange() Dim This : Set This = ckbRTimeCfgAutoPersist
FacNavBar.X.RuntimeCfgAutoPersist = ckbRTimeCfgAutoPersist.Check
End Sub
Sub ckbWrap_EventChange() Dim This : Set This = ckbWrap
UpdateUI()
End Sub
Sub eboLevel_EventChange() Dim This : Set This = eboLevel
If eboLevel.Text <> "" Then btnNext.Enable = FacNavBar.X.CanSelNext(eboLevel.Text, ckbWrap.Value) btnPrev.Enable = FacNavBar.X.CanSelPrev(eboLevel.Text, ckbWrap.Value) Else btnNext.Enable = False btnPrev.Enable = False End If
End Sub
Sub eboLevel_EventInitialize() Dim This : Set This = eboLevel
eboLevel.Text = FacNavBar.X.Levels - 1
End Sub
Sub eboSiteService_EventInitialize() Dim This : Set This = eboSiteService
eboSiteService.Text = TheView.SiteService
End Sub
Sub FacNavBar_EventInitialize() Dim This : Set This = FacNavBar
UpdateUI()
End Sub
Sub FacNavBar_EventOnSelChangeLevel(Level) Dim This : Set This = FacNavBar
LoadGrid()
End Sub
Sub TheView_EventInitialize() Dim This : Set This = TheView
FacNavBar.X.SiteService = TheView.SiteService
ckbEnableAllInitialFilterRules.Check 0
ListInitialFilterRules() LoadGrid()
End Sub
Sub TheView_EventRestarted() Dim This : Set This = TheView
FacNavBar.X.SiteService = TheView.SiteService eboSiteService.Text = TheView.SiteService
ListInitialFilterRules() LoadGrid()
End Sub |


